// 把豆瓣读书的数据拿到放入数据库

const axios = require("axios").default;
const fs = require('fs');
const path = require('path')

// async function fetchData() {
//     const pageInfo = await axios.get('https://book.douban.com/top250?icn=index-book250-all');
//     // 将data的数据暂时写到文件中

//     writeData(pageInfo.data);
// }

// function writeData(data) {
//     const target = path.resolve(__dirname, '../origin.html')
//     const ws = fs.createWriteStream(target)
//     ws.write(data)
//     ws.end();
//     ws.on("close", () => {
//         console.log("文件写完了,被关闭了")
//     })
// }

async function readData() {
    // 需要使用这个函数读取文件内容
    const target = path.resolve(__dirname, '../origin.html')
    const content = await fs.promises.readFile(target)
    return content.toString('utf-8')
}
// readData()

// 1. 得到书籍的链接数组
async function getLinksArray() {
    
    const target = await  readData();
   
    const cheerio = require('cheerio');
    const $ = cheerio.load(target);
    const temp = $('tbody .item .nbg');
    const result = temp.map((index,item)=>{
        return $(item).attr('href')
    })
    return result
}
// getLinksArray()

//根据1个url得到书籍的详细数据
// 辅助函数 将其中的一个网页内容写入文件中
async function auxi(){
    const target = path.resolve(__dirname,'../child.html')
    // const origin = await getLinksArray();
    const res = await axios.get(origin[0]);
    
    const ws = fs.createWriteStream(target)
    ws.write(res.data)
    ws.end();
    ws.on("close", () => {
        console.log("子文件写完了,被关闭了")
    })

}

// auxi()

// 从本地写入的文件中拿到书籍的信息
async function getbookOriginInfo(){
    const target = path.resolve(__dirname, '../child.html')
    const content = await fs.promises.readFile(target)
    return content.toString('utf-8')
}
async function getBookInfo(){
    const target = await getbookOriginInfo();
    const cheerio = require('cheerio');
    const $ = cheerio.load(target);
    // 拿到数据名称
    const bookName = $('#wrapper h1 span').text()
    const bookImg = $('#mainpic .nbg img').attr('src');
    const temp = $('#info>span').get();
    let publishDate
    temp.forEach((item,i)=>{
       if($(item).text()==='出版年:'){
            publishDate = $(item.nextSibling).text()
       }
    })
    // const tar = node.nodeValue
    // console.log('-->',tar)
    // const publishDate = temp[2].nextSibling.nodeValue;
    const temp2 = $('#info>span .pl').siblings()
    // 拼接作者
    const author = $(temp2).text()
    // console.log(temp[2].nextSibling.nodeValue)
    // console.log($('#info>.pl').get())
    const bookObj = {bookName,bookImg,publishDate,author}
    console.log(bookObj)
}

getBookInfo()

// const cheerio = require('cheerio');
// async function main(){
//     // 1. 得到链接列表
//     const pageInfo = await axios.get('https://book.douban.com/top250?icn=index-book250-all');
//     const originTarget = pageInfo.data;
//     const $ = cheerio.load(originTarget);
//     const temp = $('tbody .item .nbg');
//     const result = temp.map((index,item)=>{
//         return $(item).attr('href')
//     })
//     return result
// }

